1. Field of the Invention
This invention relates generally to data processing systems and more specifically to memory circuits for data processing systems.
2. Description of the Prior Art
Data processing systems or computers use memory to store information. Specifically, the processor stores individual units of information (consisting of a specific number of bits or binary digits) at memory locations that are specified by addresses where the address itself consists of a specific number of bits. The total number of bits available for address information defines the magnitude or total number of memory locations that can be addressed. The total number of addressable memory locations is referred to as the data processor address space. This address space provides a limit to the amount of information that may be stored and accessed by the data processor. This memory limitation, in turn, limits the capability of the data processor in performing data processing functions.
Recently, the use of microprocessors has increased because of the convenience and economics of microprocessor integrated circuits in general. However, some microprocessors are limited because of the number of address lines available at the intergrated circuit interface and are therefore limited in the usuable memory capacity. Several schemes have been used to increase the memory capability for microprocessors and other data processing systems. Such memory expansion techniques as virtual memory addressing and certain memory management techniques effectively add numbers of address lines available to the microprocessor by providing or dedicating external storage to store additional address information to permit access to a larger address space.
The Apple IIe computer has proven to be extremely popular. The Apple IIe computer includes a 6502 microprocessor which further includes a 16 bit address space. Therefore, the total amount of memory addressable by the 6502 microprocessor is 65,536 memory locations or bytes (hereinafter referred to as 64K). The 64K memory limitation in turn limits the capability of the Apple IIe to perform certain data processing functions. It has therefore become advantageous to increase the amount of memory available to the Apple IIe computer, or more specifically, available to the 6502 microprocessor. One embodiment of a memory extension scheme for the Apple IIe is the 80 column text card. This card is inserted in an auxiliary slot of the Apple IIe and provides additional memory to extend the text display of the Apple IIe from 40 columns to 80 columns. This extender card includes 64K of random access memory (RAM).
FIG. 1 illustrates the memory map for the Apple IIe which includes the memory addresses in hexadecimal (hereinafter hex). In the 40 column mode, the Apple IIe requires 1K bytes of memory for the storage of display information. By using the 80 column text card, which is illustrated as the auxiliary RAM in FIG. 1, the Apple IIe can display 80 column. The implementation for the Apple IIe to display 80 columns requires that 1K byte of the auxiliary RAM be included. The memory map of FIG. 1, together with the operation of the Apple IIe is detailed in the Apple II Reference Manual published by Apple Computer and herein incorporated by reference.
The memory map of FIG. 1 further includes a bank switched RAM at hex location C000.sub.16 to FFFF.sub.16 which is activated using certain software switches within the Apple II computer. This additional memory in both the main RAM and the auxiliary RAM is referred to commonly as bank switched RAM. However, the bank switching only refers to the 4K of addressable memory space starting at D000.sub.16 for the 6502 microprocessor.
While the extended memory card provides the additional 64K of memory for both text display and graphics display, even more memory is often required for more complex data processing functions. While additional memory may be connected to the address and data base buses of the Apple IIe, problems occur during the display of information in the 80 column text mode or the high resolution graphics mode since the additional memory contained in the auxiliary RAM of FIG. 1 is required to store information for display. If additional memory is used, certain convoluted software techniques can be used to prevent display distortion. Another technique is to store the display data for the text display and/or the high resolution display in each of the additional memory areas. Needless to say the storage of redundant data in every memory bank is a waste of the time required to store this data and is also a waste of the valuable memory resource.
Therefore, providing additional memory for the Apple IIe while still including sufficient storage for the display requirements is still a problem.
It is an object of the present invention to provide additional memory for the computer while providing for special requirements for memory by computer peripheral devices.